/**
 * 
 */
package org.extdev.libraries.ltr;

/**
 * @author LAP
 *
 */
public interface LTRAPIConstants {
	/**
	 * Choose to connect control channel of LTR Server
	 */
	public final static short CC_CONTROL = 0;
	/**
	 * CC_MODULE1...16 Choose to connect modules in 1...16 slots
	 */
	public final static short CC_MODULE1 = 1;
	/**
	 * CC_MODULE1...16 Choose to connect modules in 1...16 slots
	 */
	public final static short CC_MODULE2 = 2;
	/**
	 * CC_MODULE1...16 Choose to connect modules in 1...16 slots
	 */
	public final static short CC_MODULE3 = 3;
	/**
	 * CC_MODULE1...16 Choose to connect modules in 1...16 slots
	 */
	public final static short CC_MODULE4 = 4;
	/**
	 * CC_MODULE1...16 Choose to connect modules in 1...16 slots
	 */
	public final static short CC_MODULE5 = 5;
	/**
	 * CC_MODULE1...16 Choose to connect modules in 1...16 slots
	 */
	public final static short CC_MODULE6 = 6;
	/**
	 * CC_MODULE1...16 Choose to connect modules in 1...16 slots
	 */
	public final static short CC_MODULE7 = 7;
	/**
	 * CC_MODULE1...16 Choose to connect modules in 1...16 slots
	 */
	public final static short CC_MODULE8 = 8;
	/**
	 * CC_MODULE1...16 Choose to connect modules in 1...16 slots
	 */
	public final static short CC_MODULE9 = 9;
	/**
	 * CC_MODULE1...16 Choose to connect modules in 1...16 slots
	 */
	public final static short CC_MODULE10 = 10;
	/**
	 * CC_MODULE1...16 Choose to connect modules in 1...16 slots
	 */
	public final static short CC_MODULE11 = 11;
	/**
	 * CC_MODULE1...16 Choose to connect modules in 1...16 slots
	 */
	public final static short CC_MODULE12 = 12;
	/**
	 * CC_MODULE1...16 Choose to connect modules in 1...16 slots
	 */
	public final static short CC_MODULE13 = 13;
	/**
	 * CC_MODULE1...16 Choose to connect modules in 1...16 slots
	 */
	public final static short CC_MODULE14 = 14;
	/**
	 * CC_MODULE1...16 Choose to connect modules in 1...16 slots
	 */
	public final static short CC_MODULE15 = 15;
	/**
	 * CC_MODULE1...16 Choose to connect modules in 1...16 slots
	 */
	public final static short CC_MODULE16 = 16;
	/**
	 * Set channel to work with special virtual module of user data( if using
	 * modified by user integrated soft of LTR-EU crates)
	 */
	public final static short CC_USERDATA = 18;
	/**
	 * The flag, which initiates the collection of "raw" data from the
	 * mainframe, available using the function {@link }
	 */
	public final static int CC_RAW_DATA_FLAG = 0x4000;
	/**
	 * Flag used for debugging purposes
	 */
	public final static int CC_DEBUG_FLAG = 0x4000;
	// module type constants
	/**
	 * module is not installed
	 */
	public final static int MID_EMPTY = 0;
	
	public final static String CSN_SERVER_CONTROL = "#SERVER_CONTROL";
	
	public final static int LTR_OK = 0;
	public final static int LTR_ERROR_UNKNOWN = -1;
	public final static int LTR_ERROR_PARAMETRS = -2;// Ошибка входных параметров.
	public final static int LTR_ERROR_MEMORY_ALLOC = -3;// Ошибка динамического выделения памяти.
	public final static int LTR_ERROR_OPEN_CHANNEL = -4;// Ошибка открытия канала обмена с сервером.
	public final static int LTR_ERROR_OPEN_SOCKET = -5;// Ошибка открытия TCP сокета.
	public final static int LTR_ERROR_CHANNEL_CLOSED = -6;// Ошибка. Канал обмена с сервером не создан.
	public final static int LTR_ERROR_SEND = -7;// Ошибка передачи данных.
	public final static int LTR_ERROR_RECV = -8;// Ошибка приема данных.
	public final static int LTR_ERROR_EXECUTE = -9;// Ошибка при выполнения команды крейт-контроллером.
	public final static int LTR_WARNING_MODULE_IN_USE = -10; /*Предупреждение: канал с сервером для этого модуля уже
	создан (то есть модуль уже открыт), может быть выдано
	как ответ на функцию LTR_Open().
	При этом предупреждении канал с сервером создается, с
	модулем можно работать дальше, и обязательно
	завершить сессию функцией LTR_Close().*/
	public final static int LTR_ERROR_NOT_CTRL_CHANNEL = -11;/* Ошибка: вызванная функция может работать только с
	каналом CC_CONTROL, а открыт другой канал.
	Остальные константы*/
	public final static int CRATE_MAX = 16;/* Максимальное количество крейтов, которое может
	обслужить один LTR-сервер*/
	public final static int MODULE_MAX = 16;// Максимальное количество слотов в одном крейте.
	
	public final static int SERIAL_NUMBER_SIZE = 16; // максиальная длинна номера крейта ASCII
	
	public final static int DEFAULT_NET_ADDRES = 0x7F000001;
	
	public final static int DEFAULT_NET_PORT = 11111;
	
	public final static short MID_LTR212 = (short) 0xD4D4;
	public final static short MID_LTR11 = (short) 0x0B0B;
	public final static short MID_LTR22 = (short) 0x1616;
	public final static short MID_LTR27 = (short) 0x1B1B;
	public final static short MID_LTR43 = (short) 0x2B2B;
	public final static short MID_LTR51 = (short) 0x3333;
	
	public final static int CRATE_TYPE_LTR021 = 21;
}
